﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ca窗体应用程序
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            this.InitializeComponent();
        }

#warning Ca-1：这里有个方法！
        /*
         * 这个方法被绑定到了 dividendTextBox.TextChanged 事件和 divisorTextBox.TextChanged 事件，
         * 因此只要它们俩的文本发生改变，就会调用这个方法。
         * 
         * 您可以在设计器中设置事件的绑定：
         * 1、点击要绑定到的控件
         * 2、找到属性页（可能在左右下角）
         * 3、点击闪电状的 事件 图标
         * 4、找到想要绑定到的事件
         * 5、双击或者在右侧输入要绑定的方法后按下回车
         */
        private void InputChanged(object sender, EventArgs e)
        {
            /*
             * dividendTextBox 和 divisorTextBox 是两个 TextBox 类型的变量，
             * 这两个变量名是在设计器里规定的，即属性页当中 (Name) 属性的值。
             * 
             * 我们这边先获取这两个变量当中储存的内容，即两个 TextBox 类型的对象，
             * 随后获取其 Text 属性的值，
             * 就可以获取到用户在其中输入的文本。
             */
            string dividendString = dividendTextBox.Text,
                divisorString = divisorTextBox.Text;
            try
            {
                var dividend = double.Parse(dividendString);
                var divisor = double.Parse(divisorString);
                double answer = dividend / divisor;

                /*
                 * 获取 answerLabel 中储存的 Label 对象，
                 * 改变其 Text 属性即可做到输出。
                 * 
                 * 不同于控制台输出，这边一定要传递一个字符串类型的值。
                 * 使用 ToString() 即可达到效果。
                 * 
                 * 仍要强调的是，这不会改变 answer 的值，
                 * 它只是额外创建了一个字符串值。
                 */
                answerLabel.Text = answer.ToString();
            }
            catch
            {
                answerLabel.Text = "err";
            }
        }
    }
}
